package com.enzoism.java;

import org.springframework.jms.annotation.JmsListener;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

/**
 * Created with IntelliJ IDEA.
 * User: enzoism
 * Date: 2019/6/26- 0:52
 */
@Component
public class AlarmConsumer {

    // 使用JmsListener配置消费者监听的队列，其中text是接收到的消息
    @JmsListener(destination = Constants.RECEIVE_SIMPLE_QUEUE)
    public void receiveQueue(String text) {
        if(!StringUtils.isEmpty(text)){
            System.out.println("[单向]AlarmConsumer收到的报文为:"+text);
            System.out.println("[单向]把报警信息["+text+"]发送邮件给xxx");
            System.out.println("[单向]把报警信息["+text+"]发送短信给xxx");
            System.out.println("");
        }
    }

    // 使用JmsListener配置消费者监听的队列，其中text是接收到的消息
    @JmsListener(destination = Constants.RECEIVE_DOUBLE_QUEUE)
    @SendTo(Constants.FEEDBACK_QUEUE) //为了实现双向队列
    public String receiveAndFeedBackQueue(String text) {
        if(!StringUtils.isEmpty(text)){
            System.out.println("[双向]AlarmConsumer收到的报文为:"+text);
            System.out.println("[双向]把报警信息["+text+"]发送邮件给xxx");
            System.out.println("[双向]把报警信息["+text+"]发送短信给xxx");
            System.out.println("");
        }
        return "return message "+text;
    }
    // 双向队列
    @JmsListener(destination=Constants.FEEDBACK_QUEUE)
    public void consumerMessage(String text){
        System.out.println("从out.queue队列收到的回复报文为:"+text);
    }


}
